package entity

import (
	"github.com/lab-online/internal/shared/valueobject"
	"github.com/lab-online/pkg/util"
)

func (c *Class) GetID() uint {
	return c.ID
}

func (c *Class) GetName() string {
	return c.Name
}

func (c *Class) GetDescription() string {
	return c.Description
}

func (c *Class) GetCourseID() uint {
	return c.CourseID
}

func (c *Class) GetTeacher() string {
	return c.Teacher.GetUsername()
}

func (c *Class) GetTeacherVO() valueobject.UserVO {
	return c.Teacher
}

func (c *Class) GetStudents() []string {
	return util.SliceMap(c.Students, func(student valueobject.UserVO) string {
		return student.GetUsername()
	})
}

func (c *Class) GetStudentVOs() []valueobject.UserVO {
	return c.Students
}
